// 文件名: src/api/modules/upload.ts
// 块功能: 文件上传 (Uploads) 模块 API
// 描述: 包含上传设备图片、轮播图等接口。

import service from '../request'

interface UploadResponse {
  url: string
}

/**
 * @功能: 上传文件 (通用函数)
 * @param url 上传的目标 URL
 * @param file 要上传的文件对象
 */
const uploadFile = (url: string, file: File): Promise<UploadResponse> => {
  const formData = new FormData()
  formData.append('file', file) // 'file' 是后端定义的 part 名
  return service.post(url, formData, {
    headers: {
      'Content-Type': 'multipart/form-data',
    },
  })
}

/**
 * @功能: 上传设备图片
 * @param file 图片文件
 */
export const uploadEquipmentImageApi = (file: File): Promise<UploadResponse> => {
  return uploadFile('/api/admin/uploads/equipment_image', file)
}

/**
 * @功能: 上传轮播图图片
 * @param file 图片文件
 */
export const uploadBannerImageApi = (file: File): Promise<UploadResponse> => {
  return uploadFile('/api/admin/uploads/banner_image', file)
}
